package com.foreknow.test04;

 /**1.冒泡排序
         * 规则：
         * 1. 比较相邻的元素.如果第一个比第二个大，就交换他们的顺序
         * 2. 对每一对相邻的元素做同样的工作，从开始第一对到结尾的最后一对。这步操作之后，最后的元素会是最大的数（也就相当于第一波的冒泡完成）
         * 3. 针对所有的元素重复以上的步骤，除了最后一个。
         * 4. 持续每次对越来越少的元素重复以面的步骤，直到没有任务一对数字需要进行比较
         *
         * 例如：
         *
         * 两两相邻的元素进行比较，如果左边的比右边的大，那么就交互位置
         * 4   2   8   9  5  7  6   1   3
         *
         * 2   4   8   9  5  7  6   1   3
         * 第一轮比较结束，最大的元素9浮到顶端
         *
         * 2   4   8   5  7  6  1   3   9
         * 同理第二轮比较结，第二大元素8就会浮到顶端
         *
         * 2  4  5  7  6  1  3  8  9
         *
         * 最后经过N-1轮，也就是8轮排序完成
         * 1  2   3   4  5  6   7  8  9
         *
         */
public class DateStructure2 {
    public static void main(String[] args) {
        int[] a= {4,2,8,9,5,7,6,1,3};
        int i,j,n;
        for(i =1;i<a.length;i++){
            for (j=0;j<a.length-i;j++){
                if(a[j]>a[j+1]){
                n=a[j];
                a[j]=a[j+1];
                a[j+1]=n;
            }
        }
        }
        for(int m =0;m<a.length;m++){
            System.out.println(a[m]);
        }
    }
}
